C语言中对数组,指针,下标,的理解 您所在的位置:网站首页 数组名 指针 区别 C语言中对数组,指针,下标,的理解

C语言中对数组,指针,下标,的理解

2023-11-08 12:02| 来源: 网络整理| 查看: 265

# C语言中,对一维数组的指针的下标的理解

解决问题:1.数组的意义和类型 2.数组名的类型和意义 3.指向数组的指针的意义 4.指针加下标的意义

例: 一、 int a[10]; 1、a[10]是数组,其中类型是整型。 2、a是数组名,它的值是指针常量,即数组第一个元素的地址,类型取决于数组元素的类型。 此例中,a 的意义“指向int的 常量指针”。(大多数情况下,数组名的意义) 注意:1.不要根据以上事实得出数组和指针是相同的结论,数组和指针具有一些完全不同的特性。 2.数组具有确定数量的元素,而指针只是一个标量值。编译器用数组名来记住这些属性,只有当数组名在表达式中使用时,编译器才会为它产生一个指针常量。 3.注意2中说明数组名的值是指针常量,而不是指针变量,指针常量的值是固定的。所指向的是内存中数组的起始位置。 4.是否可以修改这个指针常量。理论上,修改是把真个数组移动到其他位置。但是,程序完成链接后,内存中的数组位置已经固定了,所以想要修改已经晚了。所以说,数组名的值是一个指针常量。 二、结论:C的下标引用与间接引用表达式是相等的 例如:int a[10]; int *b=a; *(a+1)与a[1]相等 b与a相等 *b与a[0]相等 b[1]与 间接运算 (b+1)相等 ,即与 星号(a+1)相等。 所以b[1]与a[1]相等 注意:不要越界。例如b[11]是越界的在以上那个例子中



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有